home *** CD-ROM | disk | FTP | other *** search
/ Transactor / Transactor_11_1986_Transactor_Publishing.d64 / mc graphics (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  12KB  |  892 lines

  1. 0 rem mc graphics (d. spruyt, 1985)   :
  2. 1 :
  3. 2 rem 11 statements,  1 function
  4. 3 :
  5. 4 rem keyword characters: 58
  6. 5 :
  7. 6 rem keyword      routine  line  ser #
  8. 7 rem s/mcon       ho       11068  149
  9. 8 rem s/mset       mcset    10746  150
  10. 9 rem s/hoff       mcrstr   11154  151
  11. 10 rem s/mdraw     mcdra    10472  152
  12. 11 rem s/mrect     mcrec    11270  153
  13. 12 rem s/mcircle   mccir    11362  154
  14. 13 rem s/mtext     mctxt    11784  155
  15. 14 rem s/hclr      hcl      11106  156
  16. 15 rem s/mcolor    mccol    10954  157
  17. 16 rem s/mbox      mcbox    11320  158
  18. 17 rem s/mdisc     mcdis    11356  159
  19. 18 rem f/mchk(     mchk     11136  160
  20. 19 :
  21. 20 rem ================================
  22. 21 :
  23. 145 .asc "mco[206]mse[212]hof[198]"
  24. 146 .asc "mdra[215]mrec[212]mcircl[197]"
  25. 147 .asc "mtex[212]hcl[210]mcolo[210]"
  26. 148 .asc "mbo[216]mdis[195]"
  27. 622 .asc "mchk":.byte $80+"("
  28. 1145 .word ho-1,mcset-1,mcrstr-1
  29. 1146 .word mcdra-1,mcrec-1,mccir-1
  30. 1147 .word mctxt-1,hcl-1,mccol-1
  31. 1148 .word mcbox-1,mcdis-1
  32. 1622 .word mchk-1
  33. 10472 mcdra lda #0
  34. 10474 sta t3
  35. 10476 jsr mcget5
  36. 10478 mdr1 lda #0
  37. 10480 sta $ab
  38. 10482 sta $ae
  39. 10484 lda t5
  40. 10486 sec
  41. 10488 sbc $a6
  42. 10490 bcs mdr2
  43. 10492 eor #$ff
  44. 10494 adc #1
  45. 10496 dec $ae
  46. 10498 mdr2 sta $ad
  47. 10500 lda $21
  48. 10502 sec
  49. 10504 sbc $a8
  50. 10506 bcs mdr3
  51. 10508 eor #$ff
  52. 10510 adc #1
  53. 10512 dec $ab
  54. 10514 mdr3 sta $aa
  55. 10516 lda $ad
  56. 10518 cmp $aa
  57. 10520 bcs mdr4
  58. 10522 lda $aa
  59. 10524 mdr4 sta $af
  60. 10526 lda #0
  61. 10528 sta $a3
  62. 10530 lda $aa
  63. 10532 sta $a4
  64. 10534 jsr mcdiv
  65. 10536 lda $a3
  66. 10538 sta $a9
  67. 10540 lda $a4
  68. 10542 sta $aa
  69. 10544 lda #0
  70. 10546 sta $a3
  71. 10548 lda $ad
  72. 10550 sta $a4
  73. 10552 jsr mcdiv
  74. 10554 lda $a3
  75. 10556 sta $ac
  76. 10558 lda $a4
  77. 10560 sta $ad
  78. 10562 lda #$80
  79. 10564 sta $a7
  80. 10566 sta $a5
  81. 10568 ldx #$a9
  82. 10570 jsr mcneg
  83. 10572 ldx #$ac
  84. 10574 jsr mcneg
  85. 10576 ldx $af
  86. 10578 mdr5 lda $a8
  87. 10580 sta $b5
  88. 10582 lda $a6
  89. 10584 sta $b4
  90. 10586 lda $b0
  91. 10588 jsr mcplo
  92. 10590 lda $a7
  93. 10592 clc
  94. 10594 adc $a9
  95. 10596 sta $a7
  96. 10598 lda $a8
  97. 10600 adc $aa
  98. 10602 sta $a8
  99. 10604 lda $a5
  100. 10606 clc
  101. 10608 adc $ac
  102. 10610 sta $a5
  103. 10612 lda $a6
  104. 10614 adc $ad
  105. 10616 sta $a6
  106. 10618 dex
  107. 10620 cpx #$ff
  108. 10622 bne mdr5
  109. 10624 rts
  110. 10626 ;
  111. 10628 mcplo sta $a4
  112. 10630 sta t4
  113. 10632 lda t3
  114. 10634 beq mcp2
  115. 10636 bmi mcp1
  116. 10638 jsr mcp2
  117. 10640 lda $b4
  118. 10642 clc
  119. 10644 adc t6
  120. 10646 sta $b4
  121. 10648 lda t4
  122. 10650 sta $a4
  123. 10652 jmp mcp2
  124. 10654 mcp1 jsr mcp2
  125. 10656 lda $b5
  126. 10658 clc
  127. 10660 adc t6
  128. 10662 sta $b5
  129. 10664 lda t4
  130. 10666 sta $a4
  131. 10668 mcp2 lda $b5
  132. 10670 cmp #$a0
  133. 10672 bcc mcp4
  134. 10674 mcp3 rts
  135. 10676 mcp4 lda $b4
  136. 10678 cmp #$c8
  137. 10680 bcs mcp3
  138. 10682 tya
  139. 10684 pha
  140. 10686 jsr ptr19
  141. 10688 lda $b5
  142. 10690 and #3
  143. 10692 tay
  144. 10694 lda mctbl2,y
  145. 10696 pha
  146. 10698 lda $b5
  147. 10700 lsr
  148. 10702 php
  149. 10704 lsr
  150. 10706 lda $a4
  151. 10708 bcs mcp5
  152. 10710 asl
  153. 10712 asl
  154. 10714 asl
  155. 10716 asl
  156. 10718 mcp5 plp
  157. 10720 bcs mcp6
  158. 10722 asl
  159. 10724 asl
  160. 10726 mcp6 sta $a4
  161. 10728 pla
  162. 10730 ldy #0
  163. 10732 jsr ropen
  164. 10734 and ($19),y
  165. 10736 ora $a4
  166. 10738 sta ($19),y
  167. 10740 jsr rclose
  168. 10742 jmp mcr5
  169. 10744 ;
  170. 10746 mcset lda #0
  171. 10748 sta t3
  172. 10750 jsr mcg1
  173. 10752 sta $b5
  174. 10754 jsr mcget
  175. 10756 sta $b4
  176. 10758 jsr mcget
  177. 10760 jmp mcplo
  178. 10762 ;
  179. 10764 mcget jsr $aefd
  180. 10766 mcg1 jsr $b79e
  181. 10768 txa
  182. 10770 rts
  183. 10772 ;
  184. 10774 mcdiv ldx #$10
  185. 10776 lda #0
  186. 10778 asl $a4
  187. 10780 mcdv1 rol
  188. 10782 bcs mcdv3
  189. 10784 cmp $af
  190. 10786 bcc mcdv2
  191. 10788 sbc $af
  192. 10790 mcdv2 rol $a3
  193. 10792 rol $a4
  194. 10794 dex
  195. 10796 bne mcdv1
  196. 10798 rts
  197. 10800 mcdv3 sbc $af
  198. 10802 sec
  199. 10804 bcs mcdv2
  200. 10806 ;
  201. 10808 mcneg lda 2,x
  202. 10810 bpl mcn1
  203. 10812 sec
  204. 10814 lda 0,x
  205. 10816 eor #$ff
  206. 10818 adc #0
  207. 10820 sta 0,x
  208. 10822 lda 1,x
  209. 10824 eor #$ff
  210. 10826 adc #0
  211. 10828 sta 1,x
  212. 10830 mcn1 rts
  213. 10832 ;
  214. 10834 ptr19 lda $b4
  215. 10836 lsr
  216. 10838 lsr
  217. 10840 and #$fe
  218. 10842 tay
  219. 10844 lda mctbl1,y
  220. 10846 sta $19
  221. 10848 lda mctbl1+1,y
  222. 10850 sta $1a
  223. 10852 lda $b4
  224. 10854 and #7
  225. 10856 sta $a3
  226. 10858 lda $b5
  227. 10860 and #$fc
  228. 10862 asl
  229. 10864 bcc p19r1
  230. 10866 inc $1a
  231. 10868 p19r1 clc
  232. 10870 ora $a3
  233. 10872 adc $19
  234. 10874 sta $19
  235. 10876 bcc p19r2
  236. 10878 inc $1a
  237. 10880 p19r2 rts
  238. 10882 ;
  239. 10884 mcrea lda $b4
  240. 10886 cmp #$c8
  241. 10888 bcc mcr2
  242. 10890 mcr1 lda #$ff
  243. 10892 rts
  244. 10894 mcr2 lda $b5
  245. 10896 cmp #$a0
  246. 10898 bcs mcr1
  247. 10900 tya
  248. 10902 pha
  249. 10904 jsr ptr19
  250. 10906 ldy #0
  251. 10908 lda $b5
  252. 10910 lsr
  253. 10912 php
  254. 10914 lsr
  255. 10916 jsr ropen
  256. 10918 lda ($19),y
  257. 10920 jsr rclose
  258. 10922 bcs mcr3
  259. 10924 lsr
  260. 10926 lsr
  261. 10928 lsr
  262. 10930 lsr
  263. 10932 mcr3 plp
  264. 10934 bcs mcr4
  265. 10936 lsr
  266. 10938 lsr
  267. 10940 mcr4 and #3
  268. 10942 mcr5 sta $a3
  269. 10944 pla
  270. 10946 tay
  271. 10948 lda $a3
  272. 10950 mcr6 rts
  273. 10952 ;
  274. 10954 mccol jsr mcg1
  275. 10956 sta $a7
  276. 10958 jsr mcget       ;
  277. 10960 sta $a8
  278. 10962 jsr mcget
  279. 10964 sec
  280. 10966 sbc $a7
  281. 10968 bcc mcr6
  282. 10970 sta $a6
  283. 10972 jsr mcget
  284. 10974 sec
  285. 10976 sbc $a8
  286. 10978 bcc mcr6
  287. 10980 sta $a5
  288. 10982 jsr mcget
  289. 10984 sta $d021
  290. 10986 jsr mcget
  291. 10988 asl
  292. 10990 asl
  293. 10992 asl
  294. 10994 asl
  295. 10996 sta $a9
  296. 10998 jsr mcget
  297. 11000 and #$0f
  298. 11002 ora $a9
  299. 11004 sta $a9
  300. 11006 jsr mcget
  301. 11008 sta $aa
  302. 11010 lda #0
  303. 11012 sta $19
  304. 11014 lda #$d8
  305. 11016 sta $1a
  306. 11018 ldy $a8
  307. 11020 mcc1 dey
  308. 11022 bmi mcc2
  309. 11024 jsr add19
  310. 11026 jmp mcc1
  311. 11028 mcc2 lda $19
  312. 11030 clc
  313. 11032 adc $a7
  314. 11034 sta $19
  315. 11036 bcc mcc3
  316. 11038 inc $1a
  317. 11040 mcc3 ldy $a6
  318. 11042 mcc4 lda $aa
  319. 11044 sta ($19),y
  320. 11046 jsr ropen
  321. 11048 lda $a9
  322. 11050 sta ($19),y
  323. 11052 jsr rclose
  324. 11054 dey
  325. 11056 bpl mcc4
  326. 11058 jsr add19
  327. 11060 dec $a5
  328. 11062 bpl mcc3
  329. 11064 rts
  330. 11066 ;
  331. 11068 ho lda $d011
  332. 11070 ora #$20
  333. 11072 sta $d011
  334. 11074 lda $d016
  335. 11076 ora #$10
  336. 11078 sta $d016
  337. 11080 lda #$68
  338. 11082 sta $d018
  339. 11084 lda $dd00
  340. 11086 and #$fc
  341. 11088 sta $dd00
  342. 11090 lda $d021
  343. 11092 sta mcuvid
  344. 11094 lda $0286
  345. 11096 sta mcuvid+1
  346. 11098 lda $d018
  347. 11100 sta mcuvid+2
  348. 11102 jmp mcfxer
  349. 11104 ;
  350. 11106 hcl lda #0
  351. 11108 sta $19
  352. 11110 lda #$e0
  353. 11112 sta $1a
  354. 11114 lda #0
  355. 11116 tay
  356. 11118 ldx #$20
  357. 11120 hcl1 sta ($19),y
  358. 11122 iny
  359. 11124 bne hcl1
  360. 11126 inc $1a
  361. 11128 dex
  362. 11130 bne hcl1
  363. 11132 rts
  364. 11134 ;
  365. 11136 mchk jsr mcg1
  366. 11138 sta $b5
  367. 11140 jsr mcget
  368. 11142 sta $b4
  369. 11144 jsr $aef7
  370. 11146 jsr mcrea
  371. 11148 tay
  372. 11150 jmp $b3a2
  373. 11152 ;
  374. 11154 mcrstr sei
  375. 11156 lda evtmp
  376. 11158 ldy evtmp+1
  377. 11160 sta $300
  378. 11162 sty $301
  379. 11164 cli
  380. 11166 lda $d011
  381. 11168 and #$df
  382. 11170 sta $d011
  383. 11172 lda $d016
  384. 11174 and #$ef
  385. 11176 sta $d016
  386. 11178 lda $dd00
  387. 11180 ora #3
  388. 11182 sta $dd00
  389. 11184 lda mcuvid
  390. 11186 sta $d021
  391. 11188 lda mcuvid+1
  392. 11190 sta $0286
  393. 11192 lda mcuvid+2
  394. 11194 sta $d018
  395. 11196 rts
  396. 11198 ;
  397. 11200 mcget5 jsr mcg1
  398. 11202 sta $1d
  399. 11204 sta $a8
  400. 11206 jsr mcget
  401. 11208 sta $1e
  402. 11210 sta $a6
  403. 11212 jsr mcget
  404. 11214 sta $1f
  405. 11216 sta $21
  406. 11218 jsr mcget
  407. 11220 sta $20
  408. 11222 sta t5
  409. 11224 jsr mcget
  410. 11226 sta $b0
  411. 11228 rts
  412. 11230 ;
  413. 11232 mcfix5 jsr mcget5
  414. 11234 lda $1f
  415. 11236 cmp $1d
  416. 11238 bcs mcf1
  417. 11240 ldx $1d
  418. 11242 sta $1d
  419. 11244 sta $a8
  420. 11246 stx $1f
  421. 11248 stx $21
  422. 11250 mcf1 lda $20
  423. 11252 cmp $1e
  424. 11254 bcs mcf2
  425. 11256 ldx $1e
  426. 11258 sta $1e
  427. 11260 sta $a6
  428. 11262 stx $20
  429. 11264 stx $t5
  430. 11266 mcf2 rts
  431. 11268 ;
  432. 11270 mcrec jsr mcfix5
  433. 11272 lda #$f1
  434. 11274 sta t3
  435. 11276 lda $1d
  436. 11278 sta $21
  437. 11280 lda $1f
  438. 11282 sec
  439. 11284 sbc $1d
  440. 11286 sta t6
  441. 11288 jsr mdr1
  442. 11290 lda #1
  443. 11292 sta t3
  444. 11294 lda $1e
  445. 11296 sta $a6
  446. 11298 sta t5
  447. 11300 lda $20
  448. 11302 sec
  449. 11304 sbc $1e
  450. 11306 sta t6
  451. 11308 lda $1d
  452. 11310 sta $a8
  453. 11312 lda $1f
  454. 11314 sta $21
  455. 11316 jmp mdr1
  456. 11318 ;
  457. 11320 mcbox jsr mcfix5
  458. 11322 lda #0
  459. 11324 sta t3
  460. 11326 mcb1 lda $1e
  461. 11328 sta $a6
  462. 11330 sta t5
  463. 11332 lda $1d
  464. 11334 sta $21
  465. 11336 lda $1f
  466. 11338 sta $a8
  467. 11340 jsr mdr1
  468. 11342 inc $1e
  469. 11344 ldy $1e
  470. 11346 cpy $20
  471. 11348 beq mcb1
  472. 11350 bcc mcb1
  473. 11352 rts
  474. 11354 ;
  475. 11356 mcdis lda #1
  476. 11358 .byte $2c
  477. 11360 ;
  478. 11362 mccir lda #0
  479. 11364 sta 9
  480. 11366 ldy #0
  481. 11368 sty t3
  482. 11370 jsr mcg1
  483. 11372 stx $a5
  484. 11374 jsr mcget
  485. 11376 stx $a6
  486. 11378 jsr mcget
  487. 11380 stx $a8
  488. 11382 jsr $aefd
  489. 11384 jsr $ad9e
  490. 11386 ldx #<mymult
  491. 11388 ldy #>mymult
  492. 11390 jsr $bbd7
  493. 11392 jsr $aefd
  494. 11394 jsr $ad9e
  495. 11396 ldx #<mxmult
  496. 11398 ldy #>mxmult
  497. 11400 jsr $bbd7
  498. 11402 jsr mcget
  499. 11404 stx $b0
  500. 11406 lda #0
  501. 11408 sta $a7
  502. 11410 sta $ad
  503. 11412 sta $ae
  504. 11414 mcd1 ldx $ae
  505. 11416 lda $a7
  506. 11418 asl
  507. 11420 bcc mcd2
  508. 11422 inx
  509. 11424 mcd2 sec
  510. 11426 adc $ad
  511. 11428 bcc mcd3
  512. 11430 inx
  513. 11432 mcd3 sta $ab
  514. 11434 stx $ac
  515. 11436 sec
  516. 11438 sbc $a8
  517. 11440 bcs mcd4
  518. 11442 dex
  519. 11444 clc
  520. 11446 mcd4 sbc $a8
  521. 11448 bcs mcd5
  522. 11450 dex
  523. 11452 mcd5 sta $a9
  524. 11454 stx $aa
  525. 11456 jsr mcmul
  526. 11458 lda 9
  527. 11460 bne mcd11
  528. 11462 ldy #0
  529. 11464 sty t6
  530. 11466 mcd6 lda $a5
  531. 11468 ldx mxtype,y
  532. 11470 php
  533. 11472 ldx mxadds,y
  534. 11474 plp
  535. 11476 beq mcd7
  536. 11478 sec
  537. 11480 sbc 0,x
  538. 11482 jmp mcd8
  539. 11484 mcd7 clc
  540. 11486 adc 0,x
  541. 11488 mcd8 sta $b5
  542. 11490 lda $a6
  543. 11492 ldx mytype,y
  544. 11494 php
  545. 11496 ldx myadds,y
  546. 11498 plp
  547. 11500 beq mcd9
  548. 11502 sec
  549. 11504 sbc 0,x
  550. 11506 jmp mcd10
  551. 11508 mcd9 clc
  552. 11510 adc 0,x
  553. 11512 mcd10 sta $b4
  554. 11514 lda $b0
  555. 11516 jsr mcplo
  556. 11518 ldy t6
  557. 11520 iny
  558. 11522 sty t6
  559. 11524 cpy #8
  560. 11526 bne mcd6
  561. 11528 jmp mcd17
  562. 11530 mcd11 ldy #0
  563. 11532 sty t6
  564. 11534 ldy #$0f
  565. 11536 mcd12 lda $a3,y
  566. 11538 sta mcbuf1,y
  567. 11540 dey
  568. 11542 bpl mcd12
  569. 11544 mcd13 lda $a5
  570. 11546 ldy t6
  571. 11548 clc
  572. 11550 ldx mctbl3,y
  573. 11552 adc 0,x
  574. 11554 sta $a8
  575. 11556 lda $a5
  576. 11558 sec
  577. 11560 ldx mctbl3,y
  578. 11562 sbc 0,x
  579. 11564 sta $21
  580. 11566 tya
  581. 11568 and #1
  582. 11570 bne mcd14
  583. 11572 lda $a6
  584. 11574 clc
  585. 11576 ldx mctbl4,y
  586. 11578 adc 0,x
  587. 11580 jmp mcd15
  588. 11582 mcd14 lda $a6
  589. 11584 sec
  590. 11586 ldx mctbl4,y
  591. 11588 sbc 0,x
  592. 11590 mcd15 sta $a6
  593. 11592 sta t5
  594. 11594 jsr mdr1
  595. 11596 ldy #$0f
  596. 11598 mcd16 lda mcbuf1,y
  597. 11600 sta $a3,y
  598. 11602 dey
  599. 11604 bpl mcd16
  600. 11606 ldy t6
  601. 11608 iny
  602. 11610 sty t6
  603. 11612 cpy #4
  604. 11614 bne mcd13
  605. 11616 mcd17 lda $ab
  606. 11618 sta $ad
  607. 11620 lda $ac
  608. 11622 sta $ae
  609. 11624 inc $a7
  610. 11626 lda $ac
  611. 11628 bpl mcd19
  612. 11630 eor #$ff
  613. 11632 tax
  614. 11634 lda $ab
  615. 11636 eor #$ff
  616. 11638 clc
  617. 11640 adc #1
  618. 11642 bcc mcd18
  619. 11644 inx
  620. 11646 mcd18 jmp mcd20
  621. 11648 mcd19 tax
  622. 11650 lda $ab
  623. 11652 mcd20 stx t2
  624. 11654 sta 7
  625. 11656 lda $aa
  626. 11658 bpl mcd22
  627. 11660 eor #$ff
  628. 11662 tax
  629. 11664 lda $a9
  630. 11666 eor #$ff
  631. 11668 clc
  632. 11670 adc #1
  633. 11672 bcc mcd21
  634. 11674 inx
  635. 11676 mcd21 jmp mcd23
  636. 11678 mcd22 tax
  637. 11680 lda $a9         ;
  638. 11682 mcd23 sta $14
  639. 11684 stx $15
  640. 11686 lda t2
  641. 11688 cmp $15
  642. 11690 bcc mcd24
  643. 11692 lda 7
  644. 11694 cmp $14
  645. 11696 beq mcd24
  646. 11698 bcc mcd24
  647. 11700 lda $a9
  648. 11702 sta $ad
  649. 11704 lda $aa
  650. 11706 sta $ae
  651. 11708 dec $a8
  652. 11710 mcd24 lda $a8
  653. 11712 cmp $a7
  654. 11714 bcc mcd25
  655. 11716 jmp mcd1
  656. 11718 mcd25 rts
  657. 11720 ;
  658. 11722 mcmul ldy $a7
  659. 11724 jsr mcmy
  660. 11726 stx $1e
  661. 11728 ldy $a8
  662. 11730 jsr mcmy
  663. 11732 stx $1d
  664. 11734 ldy $a7
  665. 11736 jsr mcmx
  666. 11738 stx $1f
  667. 11740 ldy $a8
  668. 11742 jsr mcmx
  669. 11744 stx $20
  670. 11746 rts
  671. 11748 ;
  672. 11750 mcmx sec
  673. 11752 .byte $24
  674. 11754 mcmy clc
  675. 11756 php
  676. 11758 jsr $b3a2
  677. 11760 plp
  678. 11762 bcc mcm1
  679. 11764 ldy #>mxmult
  680. 11766 lda #<mxmult
  681. 11768 bne mcm2
  682. 11770 mcm1 lda #<mymult
  683. 11772 ldy #>mymult
  684. 11774 mcm2 jsr $ba28
  685. 11776 jsr $b1bf
  686. 11778 ldx $65
  687. 11780 rts
  688. 11782 ;
  689. 11784 mctxt lda #0
  690. 11786 sta t3
  691. 11788 jsr mcg1
  692. 11790 stx $a7
  693. 11792 jsr mcget
  694. 11794 stx $a8
  695. 11796 jsr mcget
  696. 11798 stx $a6
  697. 11800 jsr mcget
  698. 11802 stx $a5
  699. 11804 jsr mcget
  700. 11806 stx $b0
  701. 11808 jsr $aefd
  702. 11810 jsr $ad9e
  703. 11812 jsr $b6a3
  704. 11814 sta $ad
  705. 11816 ldy #0
  706. 11818 mct1 sty $ae
  707. 11820 lda ($22),y
  708. 11822 cmp #$40
  709. 11824 bcc mct2
  710. 11826 sbc #$40
  711. 11828 cmp #$80
  712. 11830 bcc mct2
  713. 11832 sbc #$40
  714. 11834 mct2 ldy #0
  715. 11836 sty $ab
  716. 11838 ldy #3
  717. 11840 mct3 asl
  718. 11842 rol $ab
  719. 11844 dey
  720. 11846 bne mct3
  721. 11848 sta $14
  722. 11850 lda $ab
  723. 11852 clc
  724. 11854 adc #$d0
  725. 11856 sta $15
  726. 11858 sei
  727. 11860 lda 1
  728. 11862 and #$fb
  729. 11864 sta 1
  730. 11866 ldy #7
  731. 11868 mct4 lda ($14),y; char definition
  732. 11870 sta mcbuf2,y
  733. 11872 dey
  734. 11874 bpl mct4
  735. 11876 lda 1
  736. 11878 ora #4
  737. 11880 sta 1
  738. 11882 cli
  739. 11884 lda $a8
  740. 11886 sta $b4
  741. 11888 lda $a6
  742. 11890 sta $a9
  743. 11892 lda $a5
  744. 11894 sta $aa
  745. 11896 lda #0
  746. 11898 sta $ab
  747. 11900 mct5 lda #7
  748. 11902 sta $ac
  749. 11904 lda $a7
  750. 11906 sta $b5
  751. 11908 ldy $ab
  752. 11910 lda mcbuf2,y
  753. 11912 mct6 asl
  754. 11914 bcc mct8
  755. 11916 pha
  756. 11918 mct7 lda $b0
  757. 11920 jsr mcplo
  758. 11922 inc $b5
  759. 11924 dec $a9
  760. 11926 bne mct7
  761. 11928 jmp mct10
  762. 11930 mct8 pha
  763. 11932 mct9 lda #0
  764. 11934 jsr mcplo
  765. 11936 inc $b5
  766. 11938 dec $a9
  767. 11940 bne mct9
  768. 11942 mct10 lda $a6
  769. 11944 sta $a9
  770. 11946 pla
  771. 11948 dec $ac
  772. 11950 bpl mct6
  773. 11952 inc $b4
  774. 11954 dec $aa
  775. 11956 bne mct5
  776. 11958 lda $a5
  777. 11960 sta $aa
  778. 11962 ldy $ab
  779. 11964 iny
  780. 11966 sty $ab
  781. 11968 cpy #8
  782. 11970 bne mct5
  783. 11972 lda $a6
  784. 11974 asl
  785. 11976 asl
  786. 11978 asl
  787. 11980 clc
  788. 11982 adc $a7
  789. 11984 sta $a7
  790. 11986 ldy $ae
  791. 11988 iny
  792. 11990 cpy $ad
  793. 11992 beq a19
  794. 11994 jmp mct1
  795. 11996 ;
  796. 11998 ropen pha
  797. 12000 sei
  798. 12002 lda 1
  799. 12004 and #$f8
  800. 12006 sta 1
  801. 12008 pla
  802. 12010 rts
  803. 12012 ;
  804. 12014 rclose pha
  805. 12016 lda 1
  806. 12018 ora #7
  807. 12020 sta 1
  808. 12022 cli
  809. 12024 pla
  810. 12026 rts
  811. 12028 ;
  812. 12030 add19 lda $19
  813. 12032 clc
  814. 12034 adc #$28
  815. 12036 sta $19
  816. 12038 bcc a19
  817. 12040 inc $1a
  818. 12042 a19 rts
  819. 12044 ;
  820. 12046 mctbl1 =*
  821. 12048 .word $e000
  822. 12050 .word $e140
  823. 12052 .word $e280
  824. 12054 .word $e3c0
  825. 12056 .word $e500
  826. 12058 .word $e640
  827. 12060 .word $e780
  828. 12062 .word $e8c0
  829. 12064 .word $ea00
  830. 12066 .word $eb40
  831. 12068 .word $ec80
  832. 12070 .word $edc0
  833. 12072 .word $ef00
  834. 12074 .word $f040
  835. 12076 .word $f180
  836. 12078 .word $f2c0
  837. 12080 .word $f400
  838. 12082 .word $f540
  839. 12084 .word $f680
  840. 12086 .word $f7c0
  841. 12088 .word $f900
  842. 12090 .word $fa40
  843. 12092 .word $fb80
  844. 12094 .word $fcc0
  845. 12096 .word $fe00
  846. 12098 ;
  847. 12100 mctbl2 .byte $3f,$cf,$f3,$fc
  848. 12102 ;
  849. 12104 mctbl3 .byte $1d,$1d,$1e,$1e
  850. 12106 ;
  851. 12108 mctbl4 .byte $1f,$1f,$20,$20
  852. 12110 ;
  853. 12112 mxmult *=*+6
  854. 12114 ;
  855. 12116 mymult *=*+6
  856. 12118 ;
  857. 12120 mxtype .byte 0,1,0,1,0,1,0,1
  858. 12122 ;
  859. 12124 mytype .byte 0,0,1,1,0,0,1,1
  860. 12126 ;
  861. 12128 mxadds =*
  862. 12130 .byte $1d,$1d,$1d,$1d
  863. 12132 .byte $1e,$1e,$1e,$1e
  864. 12134 ;
  865. 12136 myadds =*
  866. 12138 .byte $1f,$1f,$1f,$1f
  867. 12140 .byte $20,$20,$20,$20
  868. 12142 ;
  869. 12144 mcbuf1 *=*+$10
  870. 12146 mcbuf2 *=*+8
  871. 12148 ;
  872. 12150 *=*+(*&1)
  873. 12152 evtmp .word $e38b
  874. 12154 ;
  875. 12156 mcfxer sei
  876. 12158 lda $300
  877. 12160 ldy $301
  878. 12162 sta evtmp
  879. 12164 sty evtmp+1
  880. 12166 lda #<mcerr
  881. 12168 ldy #>mcerr
  882. 12170 sta $300
  883. 12172 sty $301
  884. 12174 cli
  885. 12176 rts
  886. 12178 ;
  887. 12180 mcerr jsr mcrstr
  888. 12182 jmp ($300)
  889. 12184 ;
  890. 12186 mcuvid *=*+3
  891. 12188 ;
  892.